#ifndef ENEMIGO_H
#define ENEMIGO_H
#include "Personaje.h"
#include "IOcupante.h"

class Enemigo: public Personaje{
protected:
	/* Puntos que se otorgan por matarlo. */
	int puntosOtorgados;
	/* Cantidad de explosiones que puede soportar antes de morir. */
	int explosionesRestantes;
	/* Indica si el enemigo esta escondido en una caja o no. Si esta escondido,
	 * no se mueve hasta que se rompa la caja y no le afecta la explosion. */
	bool escondido;
	/* Disminuye la cantidad de explosiones restantes soportadas. Si llega
	 * a cero, lo declara muerto. */
	void disminuirExplosionesRestantes();

public:
	/* Constructor */
	Enemigo();
	/* Destructor */
	~Enemigo();
	/* Devuelve la cantidad de puntos otorgados por matarlo */
	int getPuntosOtorgados();
	/* Devuelve True si esta escondido o False en caso contrario. */
	bool estaEscondido();
	/* Colision. */
	void colisionarCon(IOcupante* ocupante);	
	void colisionarConBombaPlanta();
        void colisionarConBomberman(IOcupante* bomberman);
        void recibirExplosion();
};

#endif